触发示例2:涂胶过程
这 Robotics_Trigger_Advanced.project
这里描述的示例项目位于安装目录中 CODESYS 在下面..\CODESYS SoftMotion\Examples
。
触发器可用于在路径上的特定位置执行操作,例如打开和关闭涂胶喷嘴。
该示例包括以下组件:
配置有保证的轨迹预测
fPlanningForecastDuration
参数来自SMC_TuneCPKernel
功能块。不同触发器的命令。这里,使用了所有三种定义路径位置的可用方法(参见 SMC_TriggerPositionType)。
使用具有时移功能的触发器。示例应用程序包含
TriggerWithTimeShift
功能块,它可以通过时间偏移(更早和更晚)对到达路径位置做出反应。
这些组件显示在粘合过程的示例应用程序中。执行下图中红色显示的运动(使用混合)。

触发器已在绿色标记的位置定义:
位置1:到达该位置前0.05秒打开涂胶装置。
位置 1:到达该位置时打开紫外灯。
位置2:到达该位置后,将供胶容器填满。
位置3:关闭涂胶装置,到达该位置前0.05秒停止向供胶容器注胶。
位置 3:到达该位置 1.5 秒后关闭紫外灯
应用程序的结构
该应用程序由以下部分组成。
GlueApplication
:该程序包含示例应用程序,展示如何使用触发器进行粘合过程。Planning_PRG
:在此程序中,配置了轨迹预测。TriggerWithTimeShift
:该功能块包含时移触发器的逻辑,并用于GlueApplication
示例程序。Trace
:轨迹显示了轴的动态以及各轴的输出GlueApplication
由触发器切换的程序。
预测的配置
如果您想在达到触发之前尽早做出反应,例如 0.05 秒之前,那么 fPlanningForecastDuration
来自 SMC_ 的参数SMC_TuneCPKernel
功能块必须设置为至少 0.05 秒。由于该参数对延迟有直接影响,因此其值不应大于必要的值(请参阅文档 f规划预测持续时间)。注意 SMC_TuneCPKernel
必须在 SoftMotion 规划任务。因此,配置不在主程序中执行 GlueApplication
,但在 Planning_PRG
程序。
在此示例应用程序中,需要在到达某个位置之前最早 0.05 秒评估触发器。为此,参数fPlanningForecastDuration
=0.05 设置为 Planning_PRG
程序。
功能块:TriggerWithTimeShift
这 TriggerWithTimeShift
功能块提供了使用触发器的简化界面。此外,还可以定义时移,以便触发器可以在到达某个位置(正值)之前以及到达某个位置(负值)之后做出反应。根据应用中所需的时间精度,到达触发的反应可能如下:
所需的时间精度 >= 总线任务周期:在这种情况下,
TriggerWithTimeShift.TriggerReachedThisCycle
可以使用输出。所需时间精度 < 总线任务周期:在这种情况下,准确的剩余时间
TriggerWithTimeShift.TriggerTime
直到达到触发即可使用。
在内部, TriggerWithTimeShift
使用 SMC_GroupPrepareTrigger
和 SMC_GroupReadTrigger
功能块。
命令触发器
在里面 GlueApplication
程序、运动和触发器受到命令。调用顺序对于触发器来说特别重要,因为触发器使用 SMC_GroupPrepareTrigger
被分配给同一循环中命令的下一个运动。因此,在每次应用中都需要注意以下几点:
用于命令触发器的功能块始终在运动功能块之前调用。
触发器和相应的运动始终在同一周期内发出命令。
触发器使用以下所有类型 SMC_TriggerPositionType
:
位置 1 处的触发器使用相对距离的定义 (
SMC_TriggerPositionType.MvtRelative
)和位置 0.5。由于相应移动的距离为 10,因此触发器位于 X=5 处。位置 2 处的触发使用以用户单位 u 表示的距离定义(
SMC_TriggerPositionType.MvtDistance
) 和位置 5。因此,触发器也位于 X=5。位置 3 处的触发器使用与平面 (
SMC_TriggerPositionType.PlaneIntersection
)。该平面已定义为触发器位于 X=5。
GlueApplication
有 EnableGlue
, EnableUVLamp
, 和 RefillGlueStorage
输出。这些在适当的触发器处切换 GlueApplication.EvaluateTriggers()
。可以在跟踪中监视和评估这些输出的运动和状态。